/*!
 * \file UapStateConnectPend.h
 * \brief State where signaling connection with user client is being established
 */

#ifndef SGW_UAP_STATE_CONNECT_PEND_H
#define SGW_UAP_STATE_CONNECT_PEND_H

#include "UapStateBase.h"

namespace tsc
{
namespace sgw
{

/**
 * Initial state of UapGenerator.
 * Signaling connection with User Client is being established
 */
class UapStateConnectPend : public UapStateBase
{
public:

	static UapStateConnectPend* instance();

    virtual void handleEventUapConnectionReq(
            UapGenerator* uapGen,
            UapEventConnectionReq* event,
            EventData*& eventData);

    virtual void handleEventUapConnectionReleaseReq(
            UapGenerator* uapGen,
            UapEventConnectionReleaseReq* event,
            EventData*& eventData);

private:

	UapStateConnectPend();

	virtual ~UapStateConnectPend();

};

} // namespace sgw
} // namespace tsc

#endif // SGW_UAP_STATE_CONNECT_PEND_H
